<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OpenBGPD Goals</title>
<link rev=made href="mailto:www@openbsd.org">
<meta name="resource-type" content="document">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="OpenBGPD Goals">
<meta name="keywords" content="OpenBGPD,goals">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 1999-2004 by OpenBSD.">
</head>

<body bgcolor="#ffffff" text="#000000" link="#23238E">

<a href="index.html"><img alt="[OpenBGPD]" height="25" width="160" src="images/smalltitle.jpg" border="0"></a>
<h2><font color="#e00000">Goals</font></h2>
<hr>

<ul>
<li>Be as secure as possible. Code carefully, do strict validity checks
especially in the network input path, and use bounded buffer operations.
Use privilege separation to mitigate the effects of possible security bugs.
<li>Reliability is extremely important, as bgpd exiting usually means losing
all routes and thus reachability.
<li>Provide a lean implementation, sufficient for a majority.
Don't try to support each and every obscure usage case, but cover the
typical ones.
<li>Provide a powerful and easy to understand configuration language.
<li>Be very fast, and very memory efficient. As bgpd carries tables with
hundreds of thousands of entries, these have to be designed carefully with
regard to their memory requirements.
</ul>

<hr>
<a href="index.html"><img height="24" width="24" src="images/back.gif" border="0" alt="OpenBGPD"></a>
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br>
<small>$OpenBSD: goals.html,v 1.5 2004/12/22 01:40:22 david Exp $</small>

</body>
</html>
